Skip to main content

El elemento Search

El search fue un dolor de cabeza, mi estimado. Se buscó que, si estás en el blog en inglés, te mande los resultados en el home de inglés, y si estás en el de español, en el de español. El problema es que HubSpot solo te permite tener una página de resultados. Entonces, ¿cómo se le hace para tener dos páginas de resultados? La respuesta fue no tenerlas, ya que simplemente no se puede. Pero, ¿qué tal si pudiéramos mostrar contenido diferente en la misma página según algún parámetro? Gracias a esta perspectiva es que también tenemos el apartado de Contenido en dos idiomas.

HubSpot tiene varias variables y métodos globales a los que podemos acceder, y en este caso queremos saber si estamos en el blog de inglés o en el de español asiendo uso de la variable/metodo request.

Con esta línea de código sabremos si estamos en el blog en inglés o en el de español:

{% set isEnglish = (request.query_dict.lang == "en") or ("/en" in request.path) %}

Inicializamos una variable booleana que será true si está en inglés o false si está en español. Esta parte ("/en" in request.path) pregunta si "/en" se encuentra en el path, algo obvio. Pero, ¿y la primera condición (request.query_dict.lang == "en")? Esta pregunta si existe alguna variable (query) en la URL llamada lang que sea igual a "en". Esto nos sirve para manejar nuestros resultados en inglés, incluso si estamos trabajando en la URL del blog en español.